package cn.edu.zsc.blms.service.array;

import cn.edu.zsc.blms.App;
import cn.edu.zsc.blms.domain.BaseEntity;
import cn.edu.zsc.blms.domain.Reader;

public class ReaderService extends BaseService implements IReaderService{
    public static Reader[]DATA=new Reader[100];

    @Override
    public  void create(){
        //TODD:添加读者
        if(Reader.idCounter>=DATA.length)
        {
            System.out.println("读者数量已满，不能再添加");
            return;
        }
        System.out.print("请输入姓名：");
        String name=App.input.nextLine();
        System.out.print("请输入电话：");
        String phone=App.input.nextLine();
        Reader reader=new Reader(name,phone);
        DATA[reader.id]=reader;
        System.out.println("成功增加1名读者！");

    }

    @Override
    public  void disable(){
        //TODD:禁用读者
        System.out.print("请输入要禁用的读者ID：");
        int id=getInputId();
        if(id==-1){
            return;
        }
        Reader reader=(Reader) DATA[id];
        reader.disable=true;
        System.out.println("该用户已被禁用");
    }

    @Override
    public  void update(){
        //TODD:修改读者
        System.out.print("请输入要编辑的读者ID：");
        int id=getInputId();
        if(id==-1){
            return;
        }
        Reader reader=(Reader) DATA[id];
        System.out.print("请输入姓名，直接按回车表示不修改：");
        String name =App.input.nextLine();
        reader.name="".equals(name)?reader.name : name;
        System.out.print("请输入电话，直接按回车表示不修改：");
        String phone = App.input.nextLine();
        reader.phone ="".equals(phone)? reader.phone : phone;
        System.out.println("该用户的信息已被修改");
    }

    @Override
    public void query(){
        //TODD:查询读者
        System.out.print("请输入要查询的读者姓名：");
        String name=App.input.nextLine();

        for(int i=0;i<Reader.idCounter;i++){
            Reader reader=(Reader)DATA[i];
            System.out.println("ID："+reader.id+"，姓名："+reader.name+"，电话："+reader.phone+",禁用："+(reader.disable?"是":"否"));
        }
    }

   /* public static  int getInputId(){
        if(!App.input.hasNextInt()){
            App.input.nextLine();
            System.out.println("ID为整数，请输入整数值");
            return -1;
        }
        int id=App.input.nextInt();
        App.input.nextLine();
        if(id>=DATA.length || DATA[id] == null){
            System.out.println("不存在该ID的读者");
            return -1;
        }
        return id;
    }*/

    private static IReaderService singleton;

    private ReaderService(){

    }

    public static IReaderService getSingleton(){
        if(singleton==null){
            singleton=new ReaderService();
        }
        return singleton;
    }
}
